package com.ruoyi.market.mapper;

import com.ruoyi.market.domain.Project;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 服务项目表 数据层
 * 
 * @author ruoyi
 */
public interface ProjectMapper
{
    /**
     * 根据条件分页查询服务项目列表
     * 
     * @param project 服务项目信息
     * @return 服务项目信息集合信息
     */
    public List<Project> selectProjectList(Project project);

    /**
     * 通过服务项目名查询服务项目
     * 
     * @param projectTitle 服务项目名
     * @return 服务项目对象信息
     */
    public Project selectProjectByProjectTitle(String projectTitle);

    /**
     * 通过服务项目ID查询服务项目
     * 
     * @param projectId 服务项目ID
     * @return 服务项目对象信息
     */
    public Project selectProjectById(Long projectId);

    /**
     * 校验名称是否唯一
     *
     * @param projectTitle 名称
     * @param shopId 店铺ID
     * @return 结果
     */
    public Project checkProjectTitleUnique(@Param("projectTitle") String projectTitle, @Param("shopId") String shopId);

    /**
     * 新增服务项目信息
     * 
     * @param project 服务项目信息
     * @return 结果
     */
    public int insertProject(Project project);

    /**
     * 修改服务项目信息
     * 
     * @param project 服务项目信息
     * @return 结果
     */
    public int updateProject(Project project);

    /**
     * 通过服务项目ID删除服务项目
     * 
     * @param projectId 服务项目ID
     * @return 结果
     */
    public int deleteProjectById(Long projectId);

    /**
     * 批量删除服务项目信息
     * 
     * @param projectIds 需要删除的服务项目ID
     * @return 结果
     */
    public int deleteProjectByIds(Long[] projectIds);

    /**
     * 校验服务项目是否唯一
     *
     * @param project 服务项目信息
     * @return 结果
     */
    public Project checkProjectUnique(Project project);
}
